//
//  ContactManager.h
//  PersonalOCTest
//
//  Created by zlf on 2025/4/28.
//

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

@interface ContactManager : NSObject
/// 获取通讯录权限并处理通讯录数据
- (void)requestContactPermissionAndProcess;

/// 模拟上传到服务器
- (void)uploadToServerWithFilePath:(NSString *)filePath;

/// 批量添加测试联系人
/// @param count 要添加的测试联系人数量
/// @param completion 完成回调，返回成功添加的联系人数量和错误信息
- (void)addTestContactsWithCount:(NSInteger)count completion:(void(^)(NSInteger successCount, NSError * _Nullable error))completion;

/// 删除所有测试联系人（姓名以"Test"开头的联系人）
/// @param completion 完成回调，返回成功删除的联系人数量和错误信息
- (void)deleteAllTestContactsWithCompletion:(void(^)(NSInteger deletedCount, NSError * _Nullable error))completion;

/// 删除指定姓名前缀的联系人
/// @param namePrefix 姓名前缀
/// @param completion 完成回调，返回成功删除的联系人数量和错误信息
- (void)deleteContactsWithNamePrefix:(NSString *)namePrefix completion:(void(^)(NSInteger deletedCount, NSError * _Nullable error))completion;

/// 获取所有测试联系人（姓名以"Test"开头的联系人）
/// @param completion 完成回调，返回测试联系人数组
- (void)getAllTestContactsWithCompletion:(void(^)(NSArray<NSDictionary *> *testContacts, NSError * _Nullable error))completion;

@end

NS_ASSUME_NONNULL_END